我有一个RHEL 5系统,带有一个全新的硬盘驱动器,我专门用于MySQL服务器.为了开始,我使用了"mysqldump --host otherhost -A | mysql",尽管我注意到manpage从未明确地建议尝试这个(mysqldump进入文件是不行的.我们正在谈论500G的数据库).
这个过程以随机的间隔失败,抱怨打开的文件太多(此时mysqld获取相关信号,并且死亡和重生).
我尝试在sysctl和ulimit上升它,但问题仍然存在.我该怎么办?
mysqldump默认执行所有相关表的每表锁.如果有许多表可能超过mysql服务器进程的文件描述符数量.尝试--skip-lock-tables或者如果锁定是必要的--lock-all-tables.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
--lock-all-tables, -xLock all tables across all databases. This is achieved by acquiring a global read lock for the duration of the whole dump. This option automatically turns off --single-transaction and --lock-tables.